import java.util.ArrayList;
import java.util.List;

public class Solution {
    //给定一个非负整数 numRows，生成「杨辉三角」的前 numRows 行
    public List<List<Integer>> generate(int numRows) {
        //最终返回的结果
        List<List<Integer>> list = new ArrayList<>();
        List<Integer> frist = new ArrayList<>();
        frist.add(1);
        list.add(frist);
        for (int i = 1; i < numRows; i++) {
            //每循环一次就填完一行
            List<Integer> curList = new ArrayList<>();
            //第一个数字是1
            curList.add(1);

            //处理中间逻辑
            //拿到前一行的数据
            List<Integer> preRow = list.get(i-1);
            for (int j = 0; j < i; j++) {
                int x = preRow.get(j) + preRow.get(j-1);
                curList.add(x);
            }

            //最后一个数字是1
            curList.add(1);
            //添加到返回值里
            list.add(curList);
        }
        return list;
    }
}
